switch(c1<<2+(c2<<1)+c3) 怎么运算的 仔细点。

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:38:44
下面是CASE 1:
...

c1<<2+(c2<<1)+c3
移位运算符比加减运算符要低,所以先算加再算移位,在这先算得c2<<1,然后把C1左移2+(c2<<1)+c3位就是结果了!!

当自己搞不清优先级时,可以多加括号.

c1 << (2 + (c2 << 1 ) + c3)

括号里的东西先算.

优先级,+号在<<的前面,好处理了吧。
第一步:c2<<1。
第二步:2 + (c2<<1)。
第三步:2 + (c2<<1) + c3。
最后:c1<<2 + (c2<<1) + c3